package pe.com.sysaut.dao;
import java.io.Serializable;
import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;

public interface GenericDao {
        
        public void persist(Object entity);
        public void update(Object entity);
        public void saveOrUpdate(Object entity);
        public void persist(Object[] entities);
        public <T> List<T> find(Class<T> entityClass);
        public <T> List<T> findByHql(String hql);
        public <T> List<T> findByHql(String hql, Object... params);
        public <T> T get(Class<T> entityClass, Serializable id);
        public <T> void delete(Object entity);
        public <T> List<T> findByParamNames(String hql,String[] paramNames,Object[] values);
        void setHibernateTemplate(HibernateTemplate hibernateTemplate);
        HibernateTemplate getHibernateTemplate();
        public <T> List<T> findByNamedQuery(String namedQuery) ;
}